#include <my_header.h>
// 首先会执行父进程 检测到wait函数等待子进程执行 
// 子进程执行 等待5s之后 执行完毕 再返回来执行父进程
/* Usage: ./9_wait */
int main(void){                                  
    pid_t  pid = fork();
    if(pid == 0)
    {
        // 子进程
        printf("child process!\n");
        sleep(5);
        return 20;
    }else{
        // 父进程
        int status;
        // wait函数会阻塞 等待子进程执行完毕
        // s_pid存储的是子进程的pid
        int s_pid = wait(&status);
        // 等待子进程的pid
        printf("wait child: child pid=%d \n", s_pid);
        if(WIFEXITED(status)){// 子进程正常退出
            printf("child status: %d \n", WEXITSTATUS(status));
        }else if(WIFSIGNALED(status)){//子进程信号退出
            printf("child signed: %d \n", WTERMSIG(status));
        }

        return 0;
    }
}

